(add-to-list 'auto-mode-alist '("\\.js\\'" . web-mode))
(add-to-list 'auto-mode-alist '("\\.html\\'" . web-mode))
(add-to-list 'auto-mode-alist '("\\.vue\\'" . web-mode))
(add-to-list 'auto-mode-alist '("\\.ts\\'" . typescript-ts-mode))
(add-to-list 'auto-mode-alist '("\\.mts\\'" . typescript-ts-mode))
(add-to-list 'auto-mode-alist '("\\.rs\\'" . rust-mode))
(add-to-list 'auto-mode-alist '("\\.go\\'" . go-mode))
(add-to-list 'auto-mode-alist '("\\.dart\\'" . dart-mode))
(add-to-list 'auto-mode-alist '("\\.ron\\'" . ron-mode))
(add-to-list 'auto-mode-alist '("\\.org\\'" . org-mode))
(add-to-list 'auto-mode-alist '("\\.tsx\\'" . web-mode))
(add-to-list 'auto-mode-alist '("\\.yaml\\'" . yaml-mode))
(add-to-list 'auto-mode-alist '("\\.yml\\'" . yaml-mode))
(add-to-list 'auto-mode-alist '("\\.lua\\'" . lua-mode))
(add-to-list 'auto-mode-alist '("\\.cjs\\'" . js-mode))
(add-to-list 'auto-mode-alist '("\\.http\\'" . restclient-mode))
(add-to-list 'auto-mode-alist '("\\.fish\\'" . fish-mode))
(add-to-list 'auto-mode-alist '("\\.kt\\'" . kotlin-mode))
(add-to-list 'auto-mode-alist '("\\.gradle\\'" . groovy-mode))
(add-to-list 'auto-mode-alist '("\\.jsx\\'" . web-mode))
(add-to-list 'auto-mode-alist '("\\.fnl\\'" . fennel-mode))
(add-to-list 'auto-mode-alist '("\\.proto\\'" . protobuf-ts-mode))
(add-to-list 'auto-mode-alist '("\\.clj\\'" . clojure-mode))
(add-to-list 'auto-mode-alist '("\\.cljs\\'" . clojurescript-mode))
(add-to-list 'auto-mode-alist '("Dockerfile\\'" . dockerfile-mode))
(add-to-list 'auto-mode-alist '("\\.glsl\\'" . glsl-mode))
;; (add-to-list 'auto-mode-alist '("\\.md\\'" . markdown-mode))
(add-to-list 'auto-mode-alist '("\\.py\\'" . python-mode))
;; (add-to-list 'auto-mode-alist '("\\init.lisp\\" . stumpwm-mode))


;; (autoload 'stumpwm-mode "init-stumpwm")
;; (autoload 'markdown-mode "markdown-mode")
(autoload 'dired  "init-dirvish" nil t)
(autoload 'fennel-mode "fennel-mode")
(autoload 'groovy-mode "groovy-mode")
(autoload 'kotlin-mode "kotlin-mode")
(autoload 'typescript-ts-mode "init-typescript")
(autoload 'rust-mode "init-rust")
(autoload 'ron-mode "init-ron")
(autoload 'org-mode "init-org")
(autoload 'yaml-mode "yaml-mode")
(autoload 'lua-mode "lua-mode")
(autoload 'fish-mode"fish-mode")
(autoload 'restclient-mode "init-restclient")
(autoload 'grammatical-edit-mode "init-grammatical-edit")
(autoload 'notmuch "init-notmuch" nil t)
(autoload 'anzu-query-replace "init-anzu" nil t)
(autoload 'anzu-query-replace-regexp "init-anzu" nil t)
(autoload 'rainbow-mode "rainbow-mode")
(autoload 'dired-mode "init-dired")
(autoload 'tldr "init-tldr" nil t)
(autoload 'web-mode "emmet-mode" nil nil)
(autoload 'go-mode "go-mode" nil nil)
(autoload 'grep-mode "wgrep" nil nil)
(autoload 'prog-mode "init-xref" nil nil)
(autoload 'dart-mode "dart-mode" nil nil)
(autoload 'web-mode "init-web" nil nil)
(with-eval-after-load 'magit-mode
  (require 'init-magit))

(with-eval-after-load 'elisp-mode
  (require 'elispfl)
  (elispfl-mode))
(provide 'init-mode)
